<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Anticipos extends MY_Controller {
     public function __construct() {
        parent::__construct();
		$this->load->model('Anticipos_model','',TRUE);
                
    }																																																																												
    public function index(){
        if($this->caja_abierta()){}   
        $autorizados = $this->Autorizados_model->buscar_autorizado('%');
	if(! $autorizados){
            $data['table']='<p>No encontrado.</p>';
            
        }else{		
	// generate table data
        $this->load->library('table');
        $this->table->set_empty("&nbsp;");
        $this->table->set_heading('Apellido y Nombre','DNI','Acciones');
	$i = 0;
	foreach ($autorizados as $autorizado)
	{
		$this->table->add_row($autorizado->Aut_ApeNom,
                              $autorizado->Aut_DNI,
                              anchor('anticipos/pagar/'.$autorizado->Aut_Id,'Pagar',array('class'=>'money'))
			);
	}
	$data['table'] = $this->table->generate();
        }
        
        $datoPrincipal ['contenidoPrincipal'] = $this->load->view('anticipos/anticipos', $data, TRUE);
  
        $this->load->view('templates',$datoPrincipal);
    } 
    
    public function buscar(){
        if($this->caja_abierta()){}   
	$query = $this->input->post('autorizado');
        
	$autorizados = $this->Autorizados_model->buscar_autorizado($query);
	if(! $autorizados){
            $data['table']='<p>No encontrado.</p>';
            
        }else{		
	// generate table data
        $this->load->library('table');
        $this->table->set_empty("&nbsp;");
        $this->table->set_heading('Apellido y Nombre','DNI','Acciones');
	$i = 0;
	foreach ($autorizados as $autorizado)
	{
		$this->table->add_row($autorizado->Aut_ApeNom,
                              $autorizado->Aut_DNI,
                              anchor('anticipos/pagar/'.$autorizado->Aut_Id,'Pagar',array('class'=>'money'))
			);
	}
	$data['table'] = $this->table->generate();
        }
        		
        $datoPrincipal ['contenidoPrincipal'] = $this->load->view('anticipos/anticipos', $data, TRUE);
        $this->load->view('templates',$datoPrincipal);
    }
   
    
    function valid_date($str)
	{
		//match the format of the date
		if (preg_match ("/^([0-9]{2})-([0-9]{2})-([0-9]{4})$/", $str, $parts))
		{
			//check weather the date is valid of not
			if(checkdate($parts[2],$parts[1],$parts[3]))
				return true;
			else
				return false;
		}
		else
			return false;
	}
    
    
    function pagar($aut_id){
        if($this->caja_abierta()){}   
        $data['id']=$aut_id;

         $this->form_validation->set_rules('descripcion','Descripción','required|trim|max_length[500]|xss_clean');
         $this->form_validation->set_rules('monto','Importe','required|integer|trim|xss_clean');
         $this->form_validation->set_rules('fecha', 'fecha', 'trim|required|callback_valid_date');
         $this->form_validation->set_message('integer', 'El campo Fecha/Importe no debe ser Alfabetico');
         $this->form_validation->set_message('valid_date', 'El formato de Fecha ingresado no es Valido. (dd-mm-aaaa)');
         $this->load->model('Autorizados_model');
	
        if ($this->form_validation->run() == FALSE){
            $puesto=$this->session->userdata('puesto');
			
            $data['rbo_nro']=$this->Anticipos_model->recibo_nro($puesto);
            $cajas= $this->Cajas_model->get_caja();
            foreach ($cajas as $caja){
                $data['hoy']=date('d-m-Y',strtotime($caja->Caj_FechaHoraApertura));
            }
  
        $autorizados= $this->Autorizados_model->get_by_id($aut_id);
        
        // generate table data
        $this->load->library('table');
        $this->table->set_empty("&nbsp;");
        
	foreach ($autorizados as $autorizado)
	{
            $this->table->add_row(
                                "<b>Nombre: </b>$autorizado->Aut_ApeNom",
                                "<b>DNI: </b>$autorizado->Aut_DNI"
                                );
	
	}
        
        $data['table'] = $this->table->generate();
        
        $rows= $this->Anticipos_model->centro_costo_todas_sec();
        foreach ($rows as $row) {
			$centros[$row->Gru_Descripcion] = $row->Gru_Descripcion;
		}
        $data['centros']=$centros;
		$rows= $this->Anticipos_model->buscarbancos();
        foreach ($rows as $row) {
			$bancos[$row->Banco_Nombre] = $row->Banco_Nombre;
		}
		
		$rows= $this->Anticipos_model->buscarbancos();
        foreach ($rows as $row) {
			$cuenta[$row->Cue_Nro] = $row->Cue_Nro;
		}
		
		$data['cuenta']=$cuenta;
		$data['bancos']=$bancos;
		$fecha = date('d-m-Y');
		$data['fecha'] = $fecha;
                $data['message']='';
	$datoPrincipal ['contenidoPrincipal'] = $this->load->view('anticipos/pago', $data, TRUE);
        }else {
                    $comp_nro = $this->MovimientosCaja_model->vale_nro();
                    $formaPago = $this->input->post('formaPago');
                    $centros = $this->input->post('centros');
                    $desc = $this->input->post('descripcion');
                    $monto = $this->input->post('monto');
                    $fecha = $this->input->post('fecha');
                    
                    $autorizados= $this->Autorizados_model->get_by_id($aut_id);

                                // Genero la tabla que muestra los datos de cliente
                                foreach ($autorizados as $autorizado)
                                {   $data['id']=$aut_id;
                                    $data['apeNom']=$autorizado->Aut_ApeNom;
                                    $data['dni']=$autorizado->Aut_DNI;

                                }

                                // Genero la tabla que muestra el detalle del movimiento
                                $data['centros']=$centros;
                                $data['desc']=$desc;
                                $data['monto']=$monto;
                                $data['fecha'] = $fecha;
                                $data['comp_nro']=$comp_nro;
                                $data['formaPago']=$formaPago;
                                //$data['link_back'] = anchor('alquileres/cobrar/'.$id,'Volver',array('class'=>'back'));
                                $datoPrincipal ['contenidoPrincipal'] = $this->load->view('anticipos/confirmacion', $data, TRUE);
                          
            }

        
        $this->load->view('templates',$datoPrincipal);      
    }
    
    public function registrar($aut_id){
                if($this->caja_abierta()){}   		
                $comp_tipo = 'VALE';
                
				$autorizados= $this->Autorizados_model->get_by_id($aut_id);
        		foreach ($autorizados as $autorizado)
				{
           			$nombre = $autorizado->Aut_ApeNom;
				}
				
                $cc = $this->input->post('centros');
				$bco_id = 9;
				$suc_id = 2;
                $nro_cheque = $this->input->post('nro_cheque');
				$comp_nro_Externo = $this->input->post('comp_nro');
                $formaPago = $this->input->post('formaPago');
                $desc = $this->input->post('desc');
                $monto = $this->input->post('monto');
		$fecha = $this->input->post('fecha');
		
                //dar a elegrir TIPO DE MOVIMIENTO DE CAJA
                $tipo_desc='Gastos Varios';
                $tipos= $this->Anticipos_model->tipo_movimiento($tipo_desc);
                foreach ($tipos as $tipo){
                    $tm=$tipo->TipMov_Id;
                }

                //Completar con Centros de Costos Completos.
                $centros=  $this->Anticipos_model->centro_costo_grupo($cc);
                foreach ($centros as $centro){
                    $sec=$centro->Sec_Id;
                    $dir=$centro->Dir_Id;
                    $gru=$centro->Gru_Id;
                }
		$fecha = date('Y-m-d',strtotime($fecha));
                //cambiar caj_id cuando tengamos sesiones
                $caj_id=$this->session->userdata('caja_id');
                //Egreso >> FALSE
                $fecha=$this->Anticipos_model->insertMovimientoCaja($caj_id,$tm,$monto,$desc,$fecha,$formaPago,'FALSE',$sec,$dir,$gru,0,0,$nombre);
                $this->RendicionesCaja_model->update_egreso($caj_id,$monto);
                $movimientos=$this->Anticipos_model->get_id($caj_id,$fecha);
                
                foreach ($movimientos as $movimiento){
                    $mov_id=$movimiento->Mov_Id;
                }
                				
		$this->Anticipos_model->insert_vale($caj_id,$mov_id,$comp_nro_Externo);
                $vales= $this->Anticipos_model->get_id_comprobante($caj_id,$mov_id);
                foreach ($vales as $vale){
                    $comp_nro=$vale->Comp_Nro;
                }
                //$this->MovimientosCaja_model->nro_vale($comp_nro_Externo);
                
                $autorizados=$this->Autorizados_model->get_by_id($aut_id);
                foreach($autorizados as $autorizado){
                    $razonsocial=$autorizado->Aut_ApeNom;
                }
               // $this->MovimientosCaja_model->insertEgreso_movCli($caj_id,$mov_id,$aut_id,$razonsocial);
                $egreso = $this->Anticipos_model->insert($aut_id,$caj_id,$mov_id);
                if ($egreso ==0){
                    $data['message']='Error, no guardado.';
                }else{
                    $data['message']='<div class="success">Exito!</div>';
                    $data['id']=$mov_id;
                }
		                
		
                $datoPrincipal ['contenidoPrincipal'] = $this->load->view('anticipos/imprimir', $data, TRUE);
                $this->load->view('templates',$datoPrincipal);        
    }
    
    function imprimir($mov_id){
        //Datos de cliente
        $anticip= $this->Anticipos_model->datosanticipo($mov_id);
        foreach ($anticip as $anti)
        {   
            $cli_nom=$anti->Aut_ApeNom;
            $cli_dir=$anti->Aut_Direccion;
            $cli_iva='Consumidor Final';
            $cli_cuil=$anti->Aut_DNI;   
            $caj_id= $anti->Entrega_Caj_Id;
            $mov_id= $anti->Entrega_Mov_Id;
        }
        
		
		
        $movs= $this->Anticipos_model->get_mov($caj_id,$mov_id);
        foreach ($movs as $mov){
            $fecha= date('d-m-Y',strtotime($mov->Mov_FechaHora));
            $formaPago= $mov->Mov_FormaDePago;
            $monto= $mov->Mov_Mono;
            $desc= $mov->Mov_Descripcion;
        }
		$numeroTexto=  $this->MovimientosCaja_model->numerotexto($monto);
        if($fPago=1){
            $formaPago='Contado';
        }else{
            $formaPago='Cheque';
        }
        
		$compro= $this->Anticipos_model->comprobante($caj_id,$mov_id);
        foreach ($compro as $com){
                      $numerocompro= $com->Comp_Nro_Externo;
        }


        //$impresion->recibo($fecha,$cli_nom,$cli_dir,$cli_cuil,$cli_iva,$formaPago,$monto,$desc);
        
        $this->load->library('cezpdf');
		$this->load->helper('pdf');
		
                $this->cezpdf->ezText('VALE', 12, array('justification' => 'center'));
		$this->cezpdf->ezSetDy(-10);
                
$content = 
"NRO.: $numerocompro
FECHA: $fecha";

		$this->cezpdf->ezText($content, 10, array('justification' => 'right'));
                $this->cezpdf->ezSetDy(-10);
		

$content = 
"Asociacion Cooperadora de la  UTN - FRRE
DOMICILIO: French 414
		                                                                     							
CUIT: 30-67019023-0														   					 									 
Pers.Juridica Matricula 1321 - Decreto 167  
Inic. Acti.: Septiembre 1990																			
Ing. Brutos: 87701/1";

		$this->cezpdf->ezText($content, 10, array('justification' => 'left'));
                $this->cezpdf->ezSetDy(-10);

$content = 
"DESTINATARIO: $cli_nom
DNI: $cli_cuil
CONDICIONES DE PAGO: $formaPago


RECIBI(MOS) LA SUMA DE PESOS $numeroTexto.--
----------------------------------------------------------------------------------------------------------------------------------------------------------------

EN CONCEPTO DE $desc.
----------------------------------------------------------------------------------------------------------------------------------------------------------------";
                $this->cezpdf->ezText($content, 10, array('justification' => 'full'));
                $this->cezpdf->ezSetDy(-10);


$content = "TOTAL $         $monto";
                $this->cezpdf->ezText($content, 15, array('justification' => 'right'));
                $this->cezpdf->ezSetDy(-120);
                
		
                $this->cezpdf->ezText('VALE', 12, array('justification' => 'center'));
		$this->cezpdf->ezSetDy(-10);
                
$content = 
"NRO.: $numerocompro
FECHA: $fecha";

		$this->cezpdf->ezText($content, 10, array('justification' => 'right'));
                $this->cezpdf->ezSetDy(-10);
		

$content = 
"Asociacion Cooperadora de la  UTN - FRRE
DOMICILIO: French 414
		                                                                     							
CUIT: 30-67019023-0														   					 									 
Pers.Juridica Matricula 1321 - Decreto 167  
Inic. Acti.: Septiembre 1990																			
Ing. Brutos: 87701/1";

		$this->cezpdf->ezText($content, 10, array('justification' => 'left'));
                $this->cezpdf->ezSetDy(-10);

$content = 
"DESTINATARIO: $cli_nom
DNI: $cli_cuil
CONDICIONES DE PAGO: $formaPago


RECIBI(MOS) LA SUMA DE PESOS $numeroTexto.--
----------------------------------------------------------------------------------------------------------------------------------------------------------------

EN CONCEPTO DE $desc.
----------------------------------------------------------------------------------------------------------------------------------------------------------------";
                $this->cezpdf->ezText($content, 10, array('justification' => 'full'));
                $this->cezpdf->ezSetDy(-10);


$content = "TOTAL $         $monto";
                $this->cezpdf->ezText($content, 15, array('justification' => 'right'));
                $this->cezpdf->ezSetDy(-60);
                
        $this->cezpdf->ezStream();
    }
}

?>
